package cc.langk.sms.entity;

import cc.langk.sms.base.BaseEntity;

import java.util.Date;

/**
 * 短信发送历史
 */
public class TencentSmsHistory extends BaseEntity {

    /**
     * 必须
     * 短信接收号码,支持以逗号分隔的形式进行批量调用，批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
     */
    private String mobile;
    /**
     * 0:普通短信;1:营销短信（强调：要按需填值，不然会影响到业务的正常使用）
     */
    private String type;
    /**
     * utf8编码，需要匹配审核通过的模板内容
     */
    private String msg;
    /**
     *app凭证，具体计算方式见下注
     */
    private String sig;
    /**
     * unix时间戳，请求发起时间，如果和系统时间相差超过10分钟则会返回失败
     */
    private String time;
    /**
     * 通道扩展码，可选字段，默认没有开通(需要填空)。
     * 在短信回复场景中，腾讯server会原样返回，开发者可依此区分是哪种类型的回复
     */
    private String extend;
    /**
     *
     * 用户的session内容，腾讯server回包中会原样返回，可选字段，不需要就填空。
     */
    private String ext;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     *  应答包体
     */
    private TencentSmsResult result;


    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getSig() {
        return sig;
    }

    public void setSig(String sig) {
        this.sig = sig;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getExtend() {
        return extend;
    }

    public void setExtend(String extend) {
        this.extend = extend;
    }

    public String getExt() {
        return ext;
    }

    public void setExt(String ext) {
        this.ext = ext;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public TencentSmsResult getResult() {
        return result;
    }

    public void setResult(TencentSmsResult result) {
        this.result = result;
    }

    public void makeErrorResult() {
        TencentSmsResult tencentSmsResult = new TencentSmsResult();
        tencentSmsResult.setResult(1);
        tencentSmsResult.setErrmsg("error");
        this.setResult(tencentSmsResult);
    }
}
